P4学习笔记(一)初识P4 |
您所在的位置:网站首页 › p4 524参数 › P4学习笔记(一)初识P4 |
P4学习笔记(一)初识P4 P4学习笔记(二)一个简单P4交换机实现 文章目录 P4简介P4提供的核心抽象P4的优点 本系列我学习P4的学习笔记,很多是翻译自官方文档, 很多不是很准确的地方,建议大家去看官方文档。 P4简介P4是一种语言,用于表示如何通过可编程转发元件(如硬件或软件交换机,网络接口卡,路由器或网络)的数据平面处理数据包。P4(Programming Protocol-independent Packet Processors:独立于编程协议的数据包处理器)名字的来源于下面这篇论文: https://arxiv.org/pdf/1312.1719.pdf。 虽然P4是最初设计用于编程交换机,但现在其范围已扩大到涵盖各种各样的设备。在本文档的其余部分中,我们对所有此类设备使用通用术语目标。 许多类似设备的实现包含控制平面和数据平面。 P4旨在仅实现数据平面功能。 P4程序还部分地定义了控制平面和数据平面通信的接口,但P4不能用于描述控制平面功能。在本文档的其余部分中,当我们将P4称为“编程目标”时,我们的意思是“编程目标的数据平面”。作为目标的具体示例,图1说明了传统的特定功能的交换机和P4可编程交换机之间的差异。
•数据平面配置,实现输入程序中描述的转发逻辑 •用于管理控制平面中数据平面中对象状态的API P4是一种领域特定的语言,旨在可在多种目标上实现,包括可编程网络接口卡,FPGA,软件开关和硬件ASIC。因此,该语言仅限于可以在所有这些平台上实现和运行。 假设表查找操作以及与外部对象的交互的成本固定,所有P4程序能(即解析器和控件)对接收的数据包中每个字节执行恒定数量的分析操作。尽管解析器可能包含循环操作,在每次循环当中要提取一些标头,但解析器对数据包本身的操作次数不随之变化。换一句话说,P4程序的计算复杂度和报文头多少线性相关,而不是依赖于处理数据的大小(例如流数或已处理的数据包总数)。这些保证是必要的在实现跨多个目标的快速数据包处理的场景下。 P4的优点与最先进的数据包处理系统(例如,基于在自定义硬件之上编写微代码的系统)相比,P4具有许多显着的优势: 1、灵活性:与传统的交换机相比,P4使许多包转发策略可用程序实现,而传统的交换机向用户提供了固定功能的转发功能。2、可移植性:P4可以仅使用通用操作和表查找来表达复杂的,独立于硬件的数据包处理算法。 此类程序可在实现相同体系结构的硬件目标之间移植。3、资源映射和管理:P4程序抽象地描述了存储资源(例如IPv4源地址, 编译器将此类用户定义的字段映射到可用的硬件资源,并管理底层细节,例如分配和调度。4 、软件化:P4程序具有重要的好处,例如类型检查,信息隐藏和软件重用。5、 组件化:制造商提供的组件库可用于将特定于硬件的功能包装到可移植的高级P4架构中。6、硬件和软件分离:上游制造商可能会使用抽象体系结构,进一步将低层体系结构细节的发展与高层处理脱钩。7、调试:制造商可以提供体系结构的软件模型,以帮助开发和调试P4程序 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |